Métodos de machine learning con algoritmos de clúster no supervisados, una alternativa de segmentación de las pymes colombianas para plantear estrategias de acuerdo con sus condiciones económicas.

Durley Yalile Ramírez Mendoza

UNIVERSIDAD EAFIT

Resumen

En el presente documento se busca agrupar diez mil un (10.001) pymes colombianas teniendo en cuenta los años 2016, 2017, 2018 y 2019 usando herramientas de machine learning con algoritmos de clúster no supervisados como son los modelos K – Means y clúster Aglomerativo. Estos modelos generarán conglomerados con características financieras similares donde al analizar sus cifras e indicadores se espera que cada clúster tenga una distinción financiera marcada y de esta manera se podrán plantear estrategias de acuerdo al mejor modelo de agrupación según las condiciones económicas de las pymes a las que pertenece cada clúster.

A continuación se describe el código en Python usado para el desarrollo del proyecto:

1.Importar librerias

1.1 Carga de base de datos

2.Análisis Exploratorio de Datos

2.1 Numero de datos y variables

La base de datos corresponde a 4004 entradas o filas y 34 variables o columnas

2.2 Numero de empresas

Las 4004 entradas corresponden 1001 empresas en los años 2016, 2017, 2018, 2019.

2.3 Tipos de variables

2.4 Valores Nulos

Se presentan valores nulos en las variables costo de ventas, costos de distribución, gastos administrativos, otros gastos, otras ganancias o perdidas, ingresos financieros, costos financieros y gasto de impuestos.

2.5 Transformación de los valores nulos

Los valores nulos se convierten en ceros

2.6 Graficas y visualización de variables

2.7 Variables usadas para el análisis

Se usan los ratios: 'Margen_Bruto','Margen_operativo','Margen_antes_impuestos','MargenNeto','Ebitda','Margen_Ebitda', 'Indice_endeudamiento', 'ROA', 'ROE' Con estos ratios se realiza el análisis de cluster

2.8 Correlación de variables

3 Análisis de Componentes Principales

PCA

Principal Component Analysis (PCA) es un método estadístico que permite simplificar la complejidad de espacios muestrales con muchas dimensiones a la vez que conserva su información

Este método de transformación de variables consiste en hacer cumplir las dos condiciones establecidas previamente, pero teniendo en cuenta únicamente la información de los predictores y no necesariamente la relación de estos con la variable de respuesta. En particular, se debe encontrar los vectores $V_{j}$ y los valores $\lambda_{j}$ que cumplan la siguiente ecuación:

$$S_{x}V_{j}=\lambda_{j}V_{j}$$

Donde $S_{x}$ es la matriz de varianza y covarianza de la matriz de predictores ($X$). Finalmente, la matriz de transformación $A$ tiene como columnas a cada uno de los vectores $V_{j}$. Además, $\lambda_{j}$ corresponde a la varianza o información que condensa la variable transformada $Z_{j}$.

El método de PCA permite por lo tanto “condensar” la información aportada por múltiples variables en solo unas pocas componentes.

Standard Scaler

Se estandarizan las variables y se transforman a la misma escala eliminando la media y escalando los datos de forma que su varianza sea igual a 1. Con esto se busca que se le asigne igual importancia a cada variable.

Ahora, calcularemos la matriz 𝐴 usando la siguiente línea de código:

Una vez hecho esto, podemos visualizar la varianza explicada por cada componente. Para ello, haremos el siguiente gráfico:

Como se puede observar, las componentes están ordenadas desde la que más varianza o información contiene, hasta la que menos. Los valores reportados en el anterior gráfico corresponden a los 𝜆𝑗 establecidos con anterioridad.

Sin embargo, generalmente se suele ver el gráfico del porcentaje de la variabilidad explicado por las primeras 𝑗 componentes. Para ello obtener dicho gráfico, ejecutaremos el siguiente código:

Para presentarlo mejor, a continuación se muestran ejemplos de la interpretación del anterior gráfico:

La primera componente principal explica alrededor del 35% de la variabilidad o varianza.
Las primeras dos componentes principales explican alrededor del 61% de la variabilidad.
Las primeras 3 componentes principales explican alrededor del 72% de la variabilidad.
Las primeras 4 componentes principales explican alrededor del 83% de la variabilidad.
Las primeras 5 componentes principales explican cerca del 91% de la variabilidad.


De esta manera, se puede ver que con las primeras 5 componentes principales ya se está explicando alrededor del 91% de la variabilidad total. Por lo anterior, escogeremos las 5 primeras componentes principales.

4. Graficas de algunas variables

5.Análisis de cluster K Means

El algoritmo K-Means busca agrupar en clústeres o grupos los puntos de datos que tienen una alta similitud entre ellos. En los términos del algoritmo, esta similitud se entiende como lo opuesto de la distancia entre puntos de datos. Cuanto más cerca estén los puntos de datos, más similares y con más probabilidades de pertenecer al mismo clúster serán (Roman, 2019).

El algoritmo de agrupamiento K-Means es un proceso iterativo que mueve los centros de los agrupamientos o centroides a la posición media de sus puntos constituyentes, y reasignando instancias a sus clústeres más cercanos iterativamente hasta que no haya un cambio significativo en el número de clústeres posibles o número de iteraciones alcanzadas (Dangeti, 2017).

La función de K-Means está determinada por la distancia euclidiana (norma cuadrada) entre las observaciones pertenecientes a ese grupo con su respectivo valor centroide.

Pasos del Algoritmo según (Roman, 2019)

a) Primero, necesitamos elegir k, el número de clústeres que queremos que nos encuentren.
b) Luego, el algoritmo seleccionará aleatoriamente los centroides de cada grupo.
c) Se asignará cada punto de datos al centroide más cercano (utilizando la distancia euclídea).
d) Se calculará la inercia del conglomerado.
e) Los nuevos centroides se calcularán como la media de los puntos que pertenecen al centroide del paso anterior. En otras palabras, calculando el error cuadrático mínimo de los puntos de datos al centro de cada clúster, moviendo el centro hacia ese punto.
f) Volver al paso c.

5.1 Numero de cluster y calculo de inercia

Se realiza el análisis teniendo en cuenta 100 cluster para analizar la inercia y encontrar el numero optimo de cluster.

Se eligen 50 clúster como numero optimo. Estos 50 clúster se toman para crear una mejor agrupación teniendo en cuenta que son 1001 empresas y se requiere agrupar de la mejor manera, sin embargo se observa que a partir de 12 clúster la disminución de la inercia se mantiene constante.

6 Análisis de clúster Aglomerativo

Es un tipo de clúster jerárquico, en el cual el agrupamiento se inicia con todas las observaciones separadas, cada una formando un clúster individual. Los clústeres se van combinado a medida que la estructura crece hasta converger en uno solo (Amat, 2020).

5.3.2.1 Pasos del clustering aglomerativo (Amat, 2020)

a) Considerar cada una de las n observaciones como un clúster individual, formando así la base del dendrograma (hojas).
b) Proceso iterativo hasta que todas las observaciones pertenecen a un único clúster:
i. Calcular la distancia entre cada posible par de los n clústeres. El investigador debe determinar el tipo de medida empleada para cuantificar la similitud entre observaciones o grupos (distancia y linkage).
ii. Los dos clústeres más similares se fusionan, de forma que quedan n-1 clústeres.
c) Cortar la estructura de árbol generada (dendrograma) a una determinada altura para crear los clústeres finales.

7 Análisis de graficas de clúster

7.1 Graficas Cluster Kmeans

7.1 Graficas Cluster Aglomerativo